package com.ruoyi.common.annotation

//import java.lang.annotation.Documented
//import java.lang.annotation.ElementType
//import java.lang.annotation.Retention
//import java.lang.annotation.RetentionPolicy
//import java.lang.annotation.Target
import com.ruoyi.common.enums.BusinessType
import com.ruoyi.common.enums.OperatorType

/**
 * 自定义操作日志记录注解
 *
 * @author ruoyi
 */
//@Target([ElementType.PARAMETER, ElementType.METHOD])
//@Retention(RetentionPolicy.RUNTIME)
//@Documented
@Target(AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.RUNTIME)
@MustBeDocumented
annotation class Log(
        /**
         * 模块
         */
        val title: String = "",
        /**
         * 功能
         */
        val businessType: BusinessType = BusinessType.OTHER,
        /**
         * 操作人类别
         */
        val operatorType: OperatorType = OperatorType.MANAGE,
        /**
         * 是否保存请求的参数
         */
        val isSaveRequestData: Boolean = true,
        /**
         * 是否保存响应的参数
         */
        val isSaveResponseData: Boolean = true,
        /**
         * 排除指定的请求参数
         */
        val excludeParamNames: Array<String> = [])
